package com.base.monitor.model.enums.code.impl.biz.collect;

import com.base.monitor.model.enums.code.BaseCode;
import lombok.AllArgsConstructor;

/**
 * @description:
 * @author: tsing
 * @create: 2020-08-09 15:03
 */
@AllArgsConstructor
public enum CollectCode implements BaseCode {

    HAS_NO_MESSAGE_HANDLER(false, 5000, "没有对应的消息处理器"),
    HAS_NO_MESSAGE_TYPE_OR_GROUP(false, 5001, "没有找到对应的客户端类型或点位组"),
    HAS_NO_TYPE_PARAM(false, 5003, "按照点位组查询时必须包含客户端类型"),
    HAS_NO_ONLINE_CLIENT(false, 5002, "查询不到在线的客户端"),
    HAS_NO_COMMAND(false, 5004, "没有可以发送的命令"),
    HAS_NO_CLIENT_IP(false, 5005, "没有发送的ip地址"),
    SEND_COLLECT_COMMAND_FAIL(false, 5006, "下发指令失败，请重试"),
    ILLEGAL_INDICATOR_ID(false, 5007, "非法的指标id"),
    VALIDATE_FAIL(false, 5008, "指标数据校验失败"),
    ILLEGAL_INDICATOR_NAME(false, 5009, "不支持的指标名称"),
    EXISTS_SAME_INDICATOR_ID(false, 5010, "指标id已重复"),
    EXISTS_SAME_DEVICE_ID(false, 5011, "设备id已重复"),
    EXISTS_SAME_DEVICE_NAME(false, 5012, "设备名称已重复"),
    ILLEGAL_DATA_LENGTH(false, 5013, "数据长度非法"),
    ILLEGAL_SCALE_COLLECT(false, 5014, "非法的进制的组合。当前读取进制只支持十进制和十六进制，解析进制只只支持十进制和ascii码"),
    ;

    private Boolean success; // 是否成功
    private int code; // 状态码
    private String message; // 操作信息

    @Override
    public boolean success() {
        return this.success;
    }

    @Override
    public int code() {
        return this.code;
    }

    @Override
    public String message() {
        return this.message;
    }
}
